const baseUrl = 'http://47.104.134.195:8001'
//const qs = Qs

// 响应时间
axios.defaults.timeout = 40000
/* 配置请求头 */
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=utf-8'
axios.defaults.headers.common['SecbyAllDomain'] = 'www.baidu.com';
// 配置接口地址
axios.defaults.baseURL = baseUrl

axios.interceptors.response.use(
  res => {
    // 对响应数据做些事
    if (res.data.status === '20000') {
      return Promise.resolve(res)
    }
    return res
  },
  error => {
    if (error.toString().indexOf('401') > 0) {} else if (error.toString().indexOf('400') > 0) {
      layer.msg('请求相关参数错误')
    } else if (error.toString().indexOf('408') > 0) {
      layer.msg('请求超时')
    } else if (error.toString().indexOf('404') > 0) {
      layer.msg('请检查网络情况')
    } else if (error.toString().indexOf('500') > 0) {
      layer.msg('服务器宕机了 - _ -')
    }
    return Promise.reject(error)
  }
)

// 请求拦截
axios.interceptors.request.use(
  config => {
    //console.log(config)

    // 兼容 post 跨域问题
    if (config.method === 'post') {
      // 修改 Content-Type
      config.headers['Content-Type'] = 'application/json;charset=utf-8'
      //config.headers['Content-Type'] = 'application/json;charset=utf-8';

      // 将对象参数转换为序列化的 URL 形式（key=val&key=val）
      // config.data = JSON.stringify(config.data);
      //console.log(config.data)
      //config.data = qs.stringify(config.data);
      console.log(config.data)
    }
    return config
  },
  error => {
    console.log(error)
    return Promise.reject(error)
  }
)

// 公共POST请求
let fetch_POST = (url, params) => {
  return new Promise((resolve, reject) => {
    //params = qs.stringify(params)
    axios
      .post(url, params)
      .then(
        response => {
          resolve(response)
        },
        err => {
          reject(err)
        }
      )
      .catch(error => {
        layer.msg('服务器宕机了！', {
          icon: 5
        })
        reject(error)
      })
  })
}

// 公共GET请求
let fetch_GET = (url, params) => {
  params = qs.stringify(params)
  //console.log(params)
  return new Promise((resolve, reject) => {
    axios
      .get(url, {
        params: params
      })
      .then(
        response => {
          resolve(response)
        },
        err => {
          reject(err)
        }
      )
      .catch(error => {
        layer.msg('服务器宕机了！', {
          icon: 5
        })
        reject(error)
      })
  })
}

//获取产品列表
let getProductList = (params) => {
  return new Promise((resolve, reject) => {
    axios
      .post('product/service/normalProduct/findByPage', params)
      .then(
        response => {
          resolve(response)
        },
        err => {
          reject(err)
        }
      )
      .catch(error => {
        layer.msg('服务器宕机了！', {
          icon: 5
        })
        reject(error)
      })
  })
}